package com.ymatou.iapi.synctrade.parameter.mongo;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Field;

import com.ymttest.database.model.annotation.Column;
import com.ymttest.database.model.annotation.Table;

/**
 */
public class SellerIndex {

	/**
	 * 订单ID
	 */
	@Table("Ymt_Orders")
	@Column("iOrderId")
	@Id
	private Long id;

	/**
	 * 插入时间
	 */
	@Field("aT")
	private Date timeMongoAdd;

	/**
	 * 更新时间
	 */
	@Field("uT")
	private Date timeMongoUpdate;
	
	/**
	 * 自动过期时间=添加时间+autoCancelHour
	 */
	@Field("eacTime")
	private Date autoCancelTime;

	/**
	 * 主单ID
	 */
	@Table("Ymt_Orders")
	@Column("iMainOrderId")
	@Field("main")
	private Long mainOrderId;

	/**
	 * 买家ID
	 */
	@Table("Ymt_Orders")
	@Column("iUserId")
	@Field("user")
	private Long userId;

	/**
	 * 卖家ID
	 */
	@Table("Ymt_Orders")
	@Column("iBuyerid")
	@Field("seller")
	private Long sellerId;

	/**
	 * 订单状态
	 */
	@Table("Ymt_Orders")
	@Column("iTradingStatus")
	@Field("st")
	private Integer tradingStatus;

	/**
	 * 下单时间
	 */
	@Table("Ymt_Orders")
	@Column("dAddTime")
	@Field("addTm")
	private Date addTime;

	/**
	 * 付款时间
	 */
	@Table("Ymt_Orders")
	@Column("dPaidTime")
	@Field("paidTm")
	private Date paidTime;

	/**
	 * 接单时间
	 */
	@Table("Ymt_Orders")
	@Column("dAcceptTime")
	@Field("acpTm")
	private Date acceptTime;

	/**
	 * 发货时间
	 */
	@Table("Ymt_Orders")
	@Column("dDispathTime")
	@Field("dlvTm")
	private Date deliveryTime;

	/**
	 * 取消时间
	 */
	@Table("Ymt_Orders")
	@Column("dCancelTime")
	@Field("cncTm")
	private Date cancelTime;

	/**
	 * 国内配送
	 */
	@Table("Ymt_Orders")
	@Column("bDomesticDelivered")
	@Field("locDlv")
	private boolean localDelivery;

	/**
	 * 是否贝海物流
	 */
	@Table("Ymt_Orders")
	@Column("bShippedByXlobo")
	@Field("xlobo")
	private boolean xlobo;

	/**
	 * 预售
	 */
	@Table("Ymt_Orders")
	@Column("bPreSale")
	@Field("preSale")
	private boolean preSale;

	/**
	 * 旗子
	 */
	@Table("Ymt_O_OrderNote")
	@Column("iRemarkLevel")
	@Field("rmklvl")
	private Integer remarkLevel;

	/**
	 * 用户应付
	 */
	@Table("Ymt_Orders")
	@Column("fPayableAmount")
	@Field("userPay")
	private BigDecimal userPay;

	/**
	 * 成交额(TotalPrice + Freight)
	 */
	@Table("Ymt_Orders")
	@Field("sales")
	private BigDecimal sales;

	/**
	 * 平台优惠券
	 */
	@Table("Ymt_Orders")
	@Column("fYmtCouponAmount")
	@Field("ymtCop")
	private BigDecimal ymtCouponAmount;

	/**
	 * 直播用户应付
	 * Ymt_Orders
	 */
	@Field("lvPay")
	private BigDecimal userPayLive;

	/**
	 * 直播成交额
	 * Ymt_Orders
	 */
	@Field("lvSales")
	private BigDecimal salesLive;

	/**
	 * 直播平台优惠券
	 */
	@Field("lvYmtCop")
	private BigDecimal ymtCouponAmountLive;

	/**
	 * fund
	 * 退款优惠券
	 */
	@Table("Ymt_OrderState")
	@Column("fRefundedAmountOfCoupon")
	@Field("rfdCop")
	private BigDecimal refundCoupon;

	/**
	 * fund
	 * 退款金额
	 */
	@Table("Ymt_OrderState")
	@Column("fRefundedAmountOfCash")
	@Field("rfdCsh")
	private BigDecimal refundCash;

	/**
	 * 物流类型
	 */
	@Table("Ymt_OrderInfo")
	@Column("iCatalogStatus")
	@Field("dlvTp")
	private Integer deliveryType;

	/**
	 * 已发货或拼邮国际国内段都发货
	 */
	@Field("dlved")
	private boolean delivered;

	/**
	 * 买家登录Id
	 */
	@Table("Ymt_Orders")
	@Column("sBuyerLoginId")
	@Field("userLgi")
	private String userLogin;

	/**
	 * 收货人
	 */
	@Table("Ymt_Orders")
	@Column("sReceivePerson")
	@Field("recv")
	private String receiver;

	/**
	 * 物流单号
	 */
	@Table("Ymt_BillCodeSummary")
	@Column("BillCode")
	@Field("dlvCode")
	private List<String> billCode;

	/**
	 * 是否退款
	 */
	@Table("Ymt_RefundBill")
	@Field("rfded")
	private boolean refunded;

	/**
	 * 业务不可见
	 */
	@Field("hid")
	private Boolean hidden;
	
	/**
	 * 是否预售活动订单
	 */
	@Field("bkOrder")
	private boolean bookingOrder;
	
	/**
	 * 发货截止时间
	 */
	@Field("dlvEndTm")
	private Date deliverEndTime;
	
	/**
	 * 定金支付时间
	 */
	@Field("entPaidTm")
	private Date earnestPaidTime;
	
	/**
	 * 是否实际产生返点
	 */
	@Field("actRb")
	private boolean actualRebate;
	
	@Field("outerPromId")
	private String outerPromotionId;
	
	@Field("auctFlag")
	private Boolean authenticateFlag;
	
	/**
     * 是否官方物流
     */
    @Field("officLg")
    private Boolean officialLogistics;
    
    /**
     * 签收时效
     */
    @Field("lgAg")
    private Integer logisticsAging;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Date getTimeMongoAdd() {
		return timeMongoAdd;
	}

	public void setTimeMongoAdd(Date timeMongoAdd) {
		this.timeMongoAdd = timeMongoAdd;
	}

	public Date getTimeMongoUpdate() {
		return timeMongoUpdate;
	}

	public void setTimeMongoUpdate(Date timeMongoUpdate) {
		this.timeMongoUpdate = timeMongoUpdate;
	}

	public Long getMainOrderId() {
		return mainOrderId;
	}

	public void setMainOrderId(Long mainOrderId) {
		this.mainOrderId = mainOrderId;
	}

	public Long getUserId() {
		return userId;
	}

	public void setUserId(Long userId) {
		this.userId = userId;
	}

	public Long getSellerId() {
		return sellerId;
	}

	public void setSellerId(Long sellerId) {
		this.sellerId = sellerId;
	}

	public Integer getTradingStatus() {
		return tradingStatus;
	}

	public void setTradingStatus(Integer tradingStatus) {
		this.tradingStatus = tradingStatus;
	}

	public Date getAddTime() {
		return addTime;
	}

	public void setAddTime(Date addTime) {
		this.addTime = addTime;
	}

	public Date getPaidTime() {
		return paidTime;
	}

	public void setPaidTime(Date paidTime) {
		this.paidTime = paidTime;
	}

	public Date getAcceptTime() {
		return acceptTime;
	}

	public void setAcceptTime(Date acceptTime) {
		this.acceptTime = acceptTime;
	}

	public Date getDeliveryTime() {
		return deliveryTime;
	}

	public void setDeliveryTime(Date deliveryTime) {
		this.deliveryTime = deliveryTime;
	}

	public Date getCancelTime() {
		return cancelTime;
	}

	public void setCancelTime(Date cancelTime) {
		this.cancelTime = cancelTime;
	}

	public boolean isLocalDelivery() {
		return localDelivery;
	}

	public void setLocalDelivery(boolean localDelivery) {
		this.localDelivery = localDelivery;
	}

	public boolean isXlobo() {
		return xlobo;
	}

	public void setXlobo(boolean xlobo) {
		this.xlobo = xlobo;
	}

	public boolean isPreSale() {
		return preSale;
	}

	public void setPreSale(boolean preSale) {
		this.preSale = preSale;
	}

	public Integer getRemarkLevel() {
		return remarkLevel;
	}

	public void setRemarkLevel(Integer remarkLevel) {
		this.remarkLevel = remarkLevel;
	}

	public BigDecimal getUserPay() {
		return userPay;
	}

	public void setUserPay(BigDecimal userPay) {
		this.userPay = userPay;
	}

	public BigDecimal getSales() {
		return sales;
	}

	public void setSales(BigDecimal sales) {
		this.sales = sales;
	}

	public BigDecimal getYmtCouponAmount() {
		return ymtCouponAmount;
	}

	public void setYmtCouponAmount(BigDecimal ymtCouponAmount) {
		this.ymtCouponAmount = ymtCouponAmount;
	}

	public Integer getDeliveryType() {
		return deliveryType;
	}

	public void setDeliveryType(Integer deliveryType) {
		this.deliveryType = deliveryType;
	}

	public boolean isDelivered() {
		return delivered;
	}

	public void setDelivered(boolean delivered) {
		this.delivered = delivered;
	}

	public String getUserLogin() {
		return userLogin;
	}

	public void setUserLogin(String userLogin) {
		this.userLogin = userLogin;
	}

	public String getReceiver() {
		return receiver;
	}

	public void setReceiver(String receiver) {
		this.receiver = receiver;
	}

	public List<String> getBillCode() {
		return billCode;
	}

	public void setBillCode(List<String> billCode) {
		this.billCode = billCode;
	}

	public boolean isRefunded() {
		return refunded;
	}

	public void setRefunded(boolean refunded) {
		this.refunded = refunded;
	}

	public BigDecimal getUserPayLive() {
		return userPayLive;
	}

	public void setUserPayLive(BigDecimal userPayLive) {
		this.userPayLive = userPayLive;
	}

	public BigDecimal getSalesLive() {
		return salesLive;
	}

	public void setSalesLive(BigDecimal salesLive) {
		this.salesLive = salesLive;
	}

	public BigDecimal getYmtCouponAmountLive() {
		return ymtCouponAmountLive;
	}

	public void setYmtCouponAmountLive(BigDecimal ymtCouponAmountLive) {
		this.ymtCouponAmountLive = ymtCouponAmountLive;
	}

	public BigDecimal getRefundCoupon() {
		return refundCoupon;
	}

	public void setRefundCoupon(BigDecimal refundCoupon) {
		this.refundCoupon = refundCoupon;
	}

	public BigDecimal getRefundCash() {
		return refundCash;
	}

	public void setRefundCash(BigDecimal refundCash) {
		this.refundCash = refundCash;
	}

	public Boolean getHidden() {
		return hidden;
	}

	public void setHidden(Boolean hidden) {
		this.hidden = hidden;
	}

	public Date getAutoCancelTime() {
		return autoCancelTime;
	}

	public void setAutoCancelTime(Date autoCancelTime) {
		this.autoCancelTime = autoCancelTime;
	}

	public boolean isBookingOrder() {
		return bookingOrder;
	}

	public void setBookingOrder(boolean bookingOrder) {
		this.bookingOrder = bookingOrder;
	}

	public Date getDeliverEndTime() {
		return deliverEndTime;
	}

	public void setDeliverEndTime(Date deliverEndTime) {
		this.deliverEndTime = deliverEndTime;
	}

	public Date getEarnestPaidTime() {
		return earnestPaidTime;
	}

	public void setEarnestPaidTime(Date earnestPaidTime) {
		this.earnestPaidTime = earnestPaidTime;
	}

	public boolean isActualRebate() {
		return actualRebate;
	}

	public void setActualRebate(boolean actualRebate) {
		this.actualRebate = actualRebate;
	}

	public String getOuterPromotionId() {
		return outerPromotionId;
	}

	public void setOuterPromotionId(String outerPromotionId) {
		this.outerPromotionId = outerPromotionId;
	}

	public Boolean getAuthenticateFlag() {
		return authenticateFlag;
	}

	public void setAuthenticateFlag(Boolean authenticateFlag) {
		this.authenticateFlag = authenticateFlag;
	}

	public Boolean getOfficialLogistics() {
		return officialLogistics;
	}

	public void setOfficialLogistics(Boolean officialLogistics) {
		this.officialLogistics = officialLogistics;
	}

	public Integer getLogisticsAging() {
		return logisticsAging;
	}

	public void setLogisticsAging(Integer logisticsAging) {
		this.logisticsAging = logisticsAging;
	}
}
